home *** CD-ROM | disk | FTP | other *** search
- From: dirk@becker.adviser.com (Dirk Becker)
- Message-ID: <v01530502ad4230963778@[194.163.74.11]>
- X-Original-Date: Sat, 10 Feb 1996 13:42:32 +0100
- Path: in1.uu.net!bounce-back
- Date: 10 Feb 96 15:38:57 GMT
- Approved: fjh@cs.mu.oz.au
- Organization: -
- Newsgroups: comp.std.c++
- X-Sender: dirk@194.163.74.12
- Content-Type: text/plain; charset="us-ascii"
- Subject: Re: Make type_info name() distinct?
- X-Auth: PGPMoose V1.1 PGP comp.std.c++
- iQBFAgUBMRy8IuEDnX0m9pzZAQFapwF/YiIKAUSG+DMGukLQqoOF+z8V6f+KIcFH
- HrMO1QCsvoKC9ZRgxWrMSNllP3oARgMr
- =M3Fu
-
- In article <4fdsql$e6m@jabba.lehman.com>, ajay@lehman.com (Ajay Kamdar) wrote:
-
- [Snip]
-
- > The compiler generates all this meta data for itself, and unfortunately
- > throws it all away rather than allowing access to it
- > programmatically. With in the last five years I have worked on three
- > separate projects where the availability of meta data from
- > the compiler itself would have saved us very significant amounts of
- > time and money inventing elaborate meta data generation mechanisms of
- > our own.
- >
- > I don't remember any discussion in this forum as to why the standards
- > committee limited RTTI information to its current form. Did the
- > committee ever consider standardizing more detailed RTTI?
- > Were there technical problems which prevented such standardization?
-
- A better support of persistence was also the intention of my original post.
- But I did not ask for the additional information in RTTI because I knew
- already the reason:
-
- This wide RTTI would allow anybody with a decent disassembler to reverse-
- engineer your valuable data structures, including full member variable
- names. This cannot be acceptable for a general-purpose (not only persistence)
- feature.
-
- Most compilers have an option to generate your extended information,
- either as a MAP file or for symbolic debugger support. So you can extract
- your information and include it yourself, if you want.
-
- The distinct name()s (at least for class objects) are still needed to get
- the connection to the external information. I use a compiler which emits
- perfectly mangled symbols for the debugger, but RTTI gives only a short
- version of this (inner name of nested class). So you have no chance to
- differentiate between list<foo>::iterator and vector<bar>::iterator, because
- all you get is "iterator".
-
-
- Dirk
-
- ------------------------------------------------------------------
- Dirk Becker dirk@becker.adviser.com
- Harderweg 76, 22549 Hamburg, Germany Tel. +49 40 80783143
- ---
- [ comp.std.c++ is moderated. Submission address: std-c++@ncar.ucar.edu.
- Contact address: std-c++-request@ncar.ucar.edu. Moderation policy:
- http://reality.sgi.com/employees/austern_mti/std-c++/policy.html. ]
-